#ifndef _CAMERAIDI_H_
#define _CAMERAIDI_H_

#include "point.h"
#include <QtOpenGL/qgl.h>
#include <iostream>
#include <cmath>
#include "constants.h"

class cameraIDI{
  float anglecam;
  double _anterior, _posterior; 
  Point VRP;
  double dist; 
  float angleX, angleY, angleZ;
  float zoom;
  float aspect;
  double radi;
  float hFoV;
  Point pan_;

 public:  
  void iniciTGModelat();
  void identitat();
  void fiTGModelat();
  void trasllada(float tx, float ty, float tz);
  void escala(float sx, float sy, float sz);
  void rota(float graus, float rx, float ry, float rz);
  void resetCam();
  void computeDefaultCamera(double radi, Point centreEscena);
  void setModelview();
  void setProjection(int width, int height);
  double anterior() {return _anterior;}
  double posterior() {return _posterior;}
  void incrementaAngles(float incrX, float incrY);
  void incrementaZoom(float incr);
  void incrementaPan(float incrX, float incrY);
};
#endif
